*********************************************************************************************
*********************************************************************************************
*																	
*						Variable Modifictaion						
*																	
*********************************************************************************************
*********************************************************************************************


* Date: 		March 18
* Author: 		Maria Preißinger
* Project: 		Preißinger & Schoen (2018) Lay Theory Paper PAID
* Description: 	This Do-File executes all variable modifications



*+++++++++++++++++++++++++++++++++++++++++++
* Wave 1
*++++++++++++++++++++++++++++++++++++++++++++

use "Respondi_Laientheorie_alle Interviews_aufbereitet", clear


*----------------------------
* identify correct sample
*-----------------------------

drop if dispcode == 22

compress _all

keep if c_0006=="1"


*--------------------------------------------------
* Lay Theory
*--------------------------------------------------

fre v5?

gen item1 = v5a
gen item2 = 6-v5b if v5b>0
gen item3 = v5c
gen item4 = 6-v5d if v5d>0
gen item5 = 6-v5e if v5e>0
gen item6 = v5f
gen item7 = v5g

foreach var of varlist item1-item7 {
	replace `var' = . if `var'<1
}

lab define theo ///
	1 "mallebale" ///
	5 "fix"
lab val item? theo

	
* Version 1: 
* Einfachen Mittelwertindex aus allen Items berechen

egen laikon1= rowmean(item?)
lab var laikon1 "Mean index all items" 


* Version 2: 
* Einfachen Mittelwertindex aus den 3 klassischen entity items


egen laikon2= rowmean(item1 item6 item7)
lab var laikon2 "mean index three classical entity item" 


* Extremgruppen Laientheorie Version 3:
* Einfachen Mittelwertindex aus allen Items berechnen und 
* Extremgruppen aus oberen (=1) und unteren 25% der Verteilung (=0) bilden


sum laikon1, detail 
return list	
gen laikon3 = 1 if laikon1>=r(p75) & laikon1!=.
replace laikon3 = 0 if laikon1<=2.5
lab var laikon3 "Extremgruppen: mean index all items; 25%-Perzentile"


* Extremgruppen Laientheorie Version 4:
* Einfachen Mittelwertindex aus allen Items berechnen, Befragte 
* mit mittleren Ausprägungen der 5er-Skala (gerundeter Wert = 3) auf Missing 
* setzen, verbleibende Werte auf 0 und 1 dichotomisieren 

gen laikon4 =. 
replace laikon4 = 1 if round(laikon1)>3 & laikon1!=.
replace laikon4 = 0 if round(laikon1)<3
lab var laikon4 "Extremgruppen: mean index all items; Dweck"


* Extremgruppen Laientheorie Version 5:
* Einfachen Mittelwertindex aus Items 1, 3, und 7 berechnen und 
* Extremgruppen aus oberen (=1) und unteren 25% der Verteilung (=0) bilden

sum laikon2, detail 
return list	
gen laikon5 = 1 if laikon2>=r(p75) & laikon2!=.
replace laikon5 = 0 if laikon2<r(p25)
lab var laikon5 "Extremgruppen: mean index three entity items; 25%-Perzentile"


* Extremgruppen Laientheorie Version 6:
* Einfachen Mittelwertindex aus Items 1, 3, und 7 berechnen, Befragte 
* mit mittleren Ausprägungen der 5er-Skala (gerundeter Wert = 3) auf Missing 
* setzen, verbleibende Werte auf 0 und 1 dichotomisieren 

gen laikon6 =. 
replace laikon6 = 1 if round(laikon2)>3 & laikon2!=.
replace laikon6 = 0 if round(laikon2)<3
lab var laikon6 "Extremgruppen: mean index classical three items; Dweck"


* Extremgruppen Laientheorie Version 7:
* Faktorenscores aus CFA mit single factor correlated errors berechnen und 
* Extremgruppen aus oberen und unteren 25% der Verteilung bilden									
										

* Kontrollierbar	
sem (Laientheorie -> item?), stand ///
	cov(e.item2*e.item4 e.item2*e.item5 e.item4*e.item5)
predict Laientheorie if e(sample), latent(Laientheorie) //Faktorenscore

//Jetzt davon Extremgruppen nehmen, die oberen und unteren 25%
sum Laientheorie, detail  //zeigt Perzentile an
return list					//Perzentile werden zwischengespeichert

gen laikon7 = 1 if Laientheorie>=r(p75) & Laientheorie!=. //mit zwischengespeicherten Ergebnissen weiterarbeiten
replace laikon7 = 0 if Laientheorie<=r(p25)

lab var laikon7 "Faktorenscore 25%-Perzentile"


* Datenhygiene
drop Laientheorie*

fsum lai*



*--------------------------------------------
* Validation crietria
*----------------------------------------------

* Need to evaluate
clonevar needeval1 = v4a if v4a>0
clonevar needeval2 = v4d if v4d>0
clonevar needeval3 = v20c if v20c>0
clonevar needeval4 = v20f if v20f>0


egen needeval = rowmean(needeval?)

tab v4a needeval1, m
tab v4d needeval2, m 
tab v20c needeval3, m
tab v20f needeval4, m

* Need for cognition
gen needcog1 = 6-v4b if v4b>0
gen needcog2 = 6-v20a if v20a>0
gen needcog3 = 6-v20g if v20g>0
clonevar needcog4 = v20d if v20d>0

egen needcog = rowmean(needcog?)

* Age
gen alter = 2016 -(1900+s2) if s2>0
fre alter

gen gebjahr = 1900+s2

* Education
gen higheduc = 0
replace higheduc = 1 if s5==4 | s5==5
replace higheduc = . if s5==6 | s5<0

gen loweduc = 0
replace loweduc = 1 if s5==1 | s5==2
replace loweduc = . if s5==6

* Sex
gen frau = 1 if s1>0
replace frau = 0 if s1==2

tab frau s1, m

* Place of birth
gen gebpl = upper(s4)

* Month of birth
gen gebm = s3


*-------------------------------------------------------
* Identify junk in open-ended attribution answers
*-------------------------------------------------------

lab define open ///
	-103 "kommt auf die Person an" ///
	-102 "Einzelfallprüfung" ///
	-101 "mehrere Gründe" ///
	-100 "sonstige Angabe" ///
	-99 "keine Angabe" ///
	-98 "weiß nicht" ///
	-93 "Interview abgebrochen" ///
	1 "Angabe", replace

* Schlange vordrängeln
gen v11neu = 1

replace v11neu =-100 if lfdn ==1547
replace v11neu =-101 if lfdn ==2827
replace v11neu =-101 if lfdn ==1622
replace v11neu =-100 if lfdn ==2321
replace v11neu =-98 if lfdn ==966
replace v11neu =-98 if lfdn ==1088
replace v11neu =-101 if lfdn ==572
replace v11neu =-98 if lfdn ==149
replace v11neu =-98 if lfdn ==482
replace v11neu =-101 if lfdn ==2165
replace v11neu =-98 if lfdn ==1222
replace v11neu =-100 if lfdn ==522
replace v11neu =-100 if lfdn ==2225
replace v11neu =-98 if lfdn ==2543
replace v11neu =-100 if lfdn ==2432
replace v11neu =-98 if lfdn ==1021
replace v11neu =-98 if lfdn ==1094
replace v11neu =-98 if lfdn ==813
replace v11neu =-101 if lfdn ==666
replace v11neu =-98 if lfdn ==552
replace v11neu =-98 if lfdn ==1482
replace v11neu =-98 if lfdn ==1118
replace v11neu =-98 if lfdn ==1410
replace v11neu =-98 if lfdn ==2231
replace v11neu =-101 if lfdn ==1981
replace v11neu =-101 if lfdn ==1533
replace v11neu =-98 if lfdn ==2221
replace v11neu =-98 if lfdn ==1074
replace v11neu =-98 if lfdn ==1725
replace v11neu =-101 if lfdn ==1230
replace v11neu =-100 if lfdn ==631
replace v11neu =-98 if lfdn ==550
replace v11neu =-98 if lfdn ==1050
replace v11neu =-98 if lfdn ==3011
replace v11neu =-98 if lfdn ==1476
replace v11neu =-100 if lfdn ==416
replace v11neu =-100 if lfdn ==1536
replace v11neu =-100 if lfdn ==1837
replace v11neu =-98 if lfdn ==1132
replace v11neu =-98 if lfdn ==328
replace v11neu =-98 if lfdn ==279
replace v11neu =-100 if lfdn ==3081
replace v11neu =-100 if lfdn ==1143
replace v11neu =-98 if lfdn ==298
replace v11neu =-101 if lfdn ==2066
replace v11neu =-100 if lfdn ==1193
replace v11neu =-98 if lfdn ==878
replace v11neu =-100 if lfdn ==1549
replace v11neu =-100 if lfdn ==105
replace v11neu =-98 if lfdn ==2630
replace v11neu =-100 if lfdn ==1924
replace v11neu =-100 if lfdn ==136
replace v11neu =-100 if lfdn ==470
replace v11neu =-98 if lfdn ==503
replace v11neu =-100 if lfdn ==360
replace v11neu =-100 if lfdn ==1106
replace v11neu =-100 if lfdn ==371
replace v11neu =-100 if lfdn ==874
replace v11neu =-98 if lfdn ==350
replace v11neu =-98 if lfdn ==1101
replace v11neu =-100 if lfdn ==284
replace v11neu =-100 if lfdn ==206
replace v11neu =-98 if lfdn ==1112
replace v11neu =-100 if lfdn ==142
replace v11neu =-98 if lfdn ==558
replace v11neu =-101 if lfdn ==1585
replace v11neu =-98 if lfdn ==327
replace v11neu =-100 if lfdn ==138
replace v11neu =-98 if lfdn ==140
replace v11neu =-98 if lfdn ==661
replace v11neu =-100 if lfdn ==3093
replace v11neu =-98 if lfdn ==2029
replace v11neu =-100 if lfdn ==510
replace v11neu =-98 if lfdn ==737
replace v11neu =-100 if lfdn ==2185
replace v11neu =-100 if lfdn ==2057
replace v11neu =-100 if lfdn ==1853
replace v11neu =-98 if lfdn ==305
replace v11neu =-101 if lfdn ==1705
replace v11neu =-100 if lfdn ==1950
replace v11neu =-98 if lfdn ==2251
replace v11neu =-100 if lfdn ==43
replace v11neu =-100 if lfdn ==2579
replace v11neu =-101 if lfdn ==991
replace v11neu =-98 if lfdn ==1786
replace v11neu =-100 if lfdn ==925
replace v11neu =-100 if lfdn ==1034
replace v11neu =-98 if lfdn ==476
replace v11neu =-100 if lfdn ==1108
replace v11neu =-100 if lfdn ==1212
replace v11neu =-98 if lfdn ==2866
replace v11neu =-98 if lfdn ==2870
replace v11neu =-100 if lfdn ==382
replace v11neu =-100 if lfdn ==854
replace v11neu =-101 if lfdn ==768
replace v11neu =-98 if lfdn ==427
replace v11neu =-100 if lfdn ==1282
replace v11neu =-98 if lfdn ==629
replace v11neu =-100 if lfdn ==2468
replace v11neu =-100 if lfdn ==3105
replace v11neu =-98 if lfdn ==1541
replace v11neu =-100 if lfdn ==1394
replace v11neu =-98 if lfdn ==668
replace v11neu =-98 if lfdn ==1922
replace v11neu =-98 if lfdn ==868
replace v11neu =-100 if lfdn ==684
replace v11neu =-100 if lfdn ==1122
replace v11neu =-98 if lfdn ==1562
replace v11neu =-98 if lfdn ==726
replace v11neu =-100 if lfdn ==1601
replace v11neu =-98 if lfdn ==1962
replace v11neu =-98 if lfdn ==2702
replace v11neu =-100 if lfdn ==1331
replace v11neu =-98 if lfdn ==1342
replace v11neu =-98 if lfdn ==1538
replace v11neu =-100 if lfdn ==1245
replace v11neu =-100 if lfdn ==1755
replace v11neu =-100 if lfdn ==83
replace v11neu =-100 if lfdn ==1553
replace v11neu =-98 if lfdn ==1953
replace v11neu =-100 if lfdn ==1767
replace v11neu =-100 if lfdn ==749
replace v11neu =-98 if lfdn ==1199
replace v11neu =-100 if lfdn ==1815
replace v11neu =-98 if lfdn ==863
replace v11neu =-100 if lfdn ==2386
replace v11neu =-100 if lfdn ==1066
replace v11neu =-98 if lfdn ==888
replace v11neu =-100 if lfdn ==1064
replace v11neu =-98 if lfdn ==1910
replace v11neu =-100 if lfdn ==380
replace v11neu =-100 if lfdn ==38
replace v11neu =-98 if lfdn ==987
replace v11neu =-98 if lfdn ==1519
replace v11neu =-98 if lfdn ==56
replace v11neu =-100 if lfdn ==1744
replace v11neu =-98 if lfdn ==1741
replace v11neu =-100 if lfdn ==906
replace v11neu =-98 if lfdn ==2273
replace v11neu =-98 if lfdn ==702
replace v11neu =-98 if lfdn ==1628
replace v11neu =-98 if lfdn ==1013
replace v11neu =-98 if lfdn ==505
replace v11neu =-98 if lfdn ==1502
replace v11neu =-98 if lfdn ==824
replace v11neu =-98 if lfdn ==604
replace v11neu =-100 if lfdn ==2328
replace v11neu =-100 if lfdn ==1497
replace v11neu =-98 if lfdn ==1380
replace v11neu =-98 if lfdn ==1630
replace v11neu =-98 if lfdn ==1913
replace v11neu =-100 if lfdn ==952
replace v11neu =-98 if lfdn ==462
replace v11neu =-100 if lfdn ==187
replace v11neu =-100 if lfdn ==497
replace v11neu =-101 if lfdn ==196
replace v11neu =-100 if lfdn ==790
replace v11neu =-98 if lfdn ==1566
replace v11neu =-98 if lfdn ==272
replace v11neu =-98 if lfdn ==1057
replace v11neu =-100 if lfdn ==1397
replace v11neu =-98 if lfdn ==278
replace v11neu =-98 if lfdn ==1624
replace v11neu =-98 if lfdn ==1164
replace v11neu =-100 if lfdn ==2233
replace v11neu =-98 if lfdn ==2131
replace v11neu =-100 if lfdn ==754
replace v11neu =-100 if lfdn ==1819
replace v11neu =-98 if lfdn ==902
replace v11neu =-100 if lfdn ==1992
replace v11neu =-98 if lfdn ==1698
replace v11neu =-100 if lfdn ==215
replace v11neu =-98 if lfdn ==903
replace v11neu =-98 if lfdn ==1756
replace v11neu =-98 if lfdn ==1599
replace v11neu =-98 if lfdn ==1084
replace v11neu =-100 if lfdn ==1727
replace v11neu =-100 if lfdn ==1166
replace v11neu =-98 if lfdn ==835
replace v11neu =-101 if lfdn ==2305
replace v11neu =-98 if lfdn ==1444
replace v11neu =-100 if lfdn ==805
replace v11neu =-98 if lfdn ==2005
replace v11neu =-100 if lfdn ==2227
replace v11neu =-100 if lfdn ==2641
replace v11neu =-101 if lfdn ==792
replace v11neu =-98 if lfdn ==367
replace v11neu =-100 if lfdn ==1136
replace v11neu =-98 if lfdn ==364
replace v11neu =-100 if lfdn ==1379
replace v11neu =-100 if lfdn ==466
replace v11neu =-98 if lfdn ==1619
replace v11neu =-98 if lfdn ==1765
replace v11neu =-98 if lfdn ==2358
replace v11neu =-100 if lfdn ==433
replace v11neu =-98 if lfdn ==1669
replace v11neu =-98 if lfdn ==1059
replace v11neu =-98 if lfdn ==116
replace v11neu =-98 if lfdn ==640
replace v11neu =-98 if lfdn ==2600
replace v11neu =-98 if lfdn ==2959
replace v11neu =-98 if lfdn ==1472
replace v11neu =-100 if lfdn ==660
replace v11neu =-98 if lfdn ==1036
replace v11neu =-98 if lfdn ==1839
replace v11neu =-100 if lfdn ==1888

replace v11neu = -99 if v11=="-99"
replace v11neu = -93 if v11=="-97" | v11=="-93"


* Bus
gen v13neu = 1

replace v13neu =-100 if lfdn ==1547
replace v13neu =-98 if lfdn ==1088
replace v13neu =-100 if lfdn ==1589
replace v13neu =-98 if lfdn ==482
replace v13neu =-100 if lfdn ==522
replace v13neu =-100 if lfdn ==2225
replace v13neu =-100 if lfdn ==2432
replace v13neu =-100 if lfdn ==469
replace v13neu =-98 if lfdn ==1094
replace v13neu =-98 if lfdn ==1725
replace v13neu =-98 if lfdn ==1287
replace v13neu =-98 if lfdn ==1230
replace v13neu =-100 if lfdn ==631
replace v13neu =-98 if lfdn ==1050
replace v13neu =-98 if lfdn ==1847
replace v13neu =-98 if lfdn ==1476
replace v13neu =-100 if lfdn ==1536
replace v13neu =-100 if lfdn ==1132
replace v13neu =-98 if lfdn ==279
replace v13neu =-100 if lfdn ==3081
replace v13neu =-100 if lfdn ==1193
replace v13neu =-100 if lfdn ==105
replace v13neu =-98 if lfdn ==2630
replace v13neu =-101 if lfdn ==2354
replace v13neu =-100 if lfdn ==1924
replace v13neu =-100 if lfdn ==470
replace v13neu =-100 if lfdn ==1106
replace v13neu =-100 if lfdn ==371
replace v13neu =-98 if lfdn ==350
replace v13neu =-98 if lfdn ==1101
replace v13neu =-100 if lfdn ==284
replace v13neu =-100 if lfdn ==206
replace v13neu =-98 if lfdn ==387
replace v13neu =-100 if lfdn ==142
replace v13neu =-100 if lfdn ==289
replace v13neu =-98 if lfdn ==558
replace v13neu =-100 if lfdn ==138
replace v13neu =-98 if lfdn ==975
replace v13neu =-100 if lfdn ==3093
replace v13neu =-100 if lfdn ==510
replace v13neu =-100 if lfdn ==2185
replace v13neu =-98 if lfdn ==624
replace v13neu =-100 if lfdn ==2860
replace v13neu =-100 if lfdn ==1853
replace v13neu =-100 if lfdn ==1950
replace v13neu =-100 if lfdn ==43
replace v13neu =-100 if lfdn ==2579
replace v13neu =-98 if lfdn ==476
replace v13neu =-100 if lfdn ==1108
replace v13neu =-100 if lfdn ==382
replace v13neu =-100 if lfdn ==854
replace v13neu =-101 if lfdn ==768
replace v13neu =-98 if lfdn ==427
replace v13neu =-98 if lfdn ==629
replace v13neu =-100 if lfdn ==2468
replace v13neu =-100 if lfdn ==3105
replace v13neu =-100 if lfdn ==539
replace v13neu =-100 if lfdn ==1394
replace v13neu =-98 if lfdn ==668
replace v13neu =-98 if lfdn ==1922
replace v13neu =-98 if lfdn ==3044
replace v13neu =-100 if lfdn ==684
replace v13neu =-100 if lfdn ==1710
replace v13neu =-100 if lfdn ==213
replace v13neu =-100 if lfdn ==1122
replace v13neu =-98 if lfdn ==1562
replace v13neu =-98 if lfdn ==726
replace v13neu =-100 if lfdn ==1601
replace v13neu =-100 if lfdn ==1965
replace v13neu =-98 if lfdn ==1962
replace v13neu =-100 if lfdn ==1331
replace v13neu =-98 if lfdn ==1342
replace v13neu =-100 if lfdn ==1245
replace v13neu =-100 if lfdn ==1755
replace v13neu =-100 if lfdn ==1553
replace v13neu =-98 if lfdn ==1199
replace v13neu =-100 if lfdn ==2386
replace v13neu =-100 if lfdn ==1066
replace v13neu =-100 if lfdn ==1064
replace v13neu =-98 if lfdn ==1910
replace v13neu =-100 if lfdn ==380
replace v13neu =-100 if lfdn ==38
replace v13neu =-98 if lfdn ==987
replace v13neu =-98 if lfdn ==1519
replace v13neu =-100 if lfdn ==1744
replace v13neu =-100 if lfdn ==906
replace v13neu =-98 if lfdn ==2273
replace v13neu =-98 if lfdn ==729
replace v13neu =-100 if lfdn ==1915
replace v13neu =-98 if lfdn ==1794
replace v13neu =-100 if lfdn ==2328
replace v13neu =-100 if lfdn ==1497
replace v13neu =-98 if lfdn ==1380
replace v13neu =-98 if lfdn ==1630
replace v13neu =-100 if lfdn ==952
replace v13neu =-98 if lfdn ==187
replace v13neu =-100 if lfdn ==497
replace v13neu =-100 if lfdn ==790
replace v13neu =-98 if lfdn ==1057
replace v13neu =-100 if lfdn ==1397
replace v13neu =-98 if lfdn ==278
replace v13neu =-98 if lfdn ==1181
replace v13neu =-100 if lfdn ==2233
replace v13neu =-98 if lfdn ==2131
replace v13neu =-100 if lfdn ==754
replace v13neu =-100 if lfdn ==1819
replace v13neu =-100 if lfdn ==1992
replace v13neu =-100 if lfdn ==215
replace v13neu =-98 if lfdn ==903
replace v13neu =-98 if lfdn ==1756
replace v13neu =-98 if lfdn ==1599
replace v13neu =-100 if lfdn ==1727
replace v13neu =-100 if lfdn ==1166
replace v13neu =-100 if lfdn ==2608
replace v13neu =-100 if lfdn ==2641
replace v13neu =-100 if lfdn ==792
replace v13neu =-101 if lfdn ==2352
replace v13neu =-100 if lfdn ==1645
replace v13neu =-100 if lfdn ==1136
replace v13neu =-100 if lfdn ==466
replace v13neu =-98 if lfdn ==1765
replace v13neu =-98 if lfdn ==2358
replace v13neu =-100 if lfdn ==433
replace v13neu =-98 if lfdn ==1059
replace v13neu =-98 if lfdn ==2018
replace v13neu =-98 if lfdn ==938
replace v13neu =-98 if lfdn ==1839
replace v13neu =-98 if lfdn ==1856

replace v13neu = -99 if v13=="-99"
replace v13neu = -93 if v13=="-97"
replace v13neu = -93 if v13=="-93"


*----------------------------------------------------------
* Closed-ended attribution answers
*----------------------------------------------------------

gen drängel = v12 if v12>0
gen bus = v14 if v14>0


replace drängel = . if v11neu<0
replace bus = . if v13neu<0 

lab define att ///
	1 "Disposition" ///
	5 "Situation"
lab val drängel bus att


keep pseudonym item? drängel bus needcog? needeval? *educ frau laikon* geb* alter


*+++++++++++++++++++++++++++++++++++++++++++
* Wave 2
*++++++++++++++++++++++++++++++++++++++++++++


merge 1:1 pseudonym using "D-P17-5686 Uni Mannheim Laientheorie Welle 2 DE_Finale Daten_2"
fre disp

drop if _merge==2

compress _all

gen wave2 = 1	if _merge==3			



*--------------------------------------------------
* Variable modification 
*--------------------------------------------------

* Laientheorie 
gen item1w2 = v5a
gen item2w2 = 6-v5b if v5b>0
gen item3w2 = v5c
gen item4w2 = 6-v5d if v5d>0
gen item5w2 = 6-v5e if v5e>0
gen item6w2 = v5f
gen item7w2 = v5g

foreach var of varlist item1w2-item7w2 {
	replace `var' = . if `var'<1
}

lab val item* theo

* Version 1: 
* Einfachen Mittelwertindex aus allen Items berechen


egen laikon1w2= rowmean(item?w2)
lab var laikon1w2 "Mean index all items" 



* Version 2: 
* Einfachen Mittelwertindex aus den 3 klassischen entity items


egen laikon2w2= rowmean(item1w2 item6w2 item7w2)
lab var laikon2w2 "mean index three classical entity item" 


* Extremgruppen Laientheorie Version 3:
* Einfachen Mittelwertindex aus allen Items berechnen und 
* Extremgruppen aus oberen (=1) und unteren 25% der Verteilung (=0) bilden


sum laikon1w2, detail 
return list	
gen laikon3w2 = 1 if laikon1w2>=r(p75) & laikon1w2!=.
replace laikon3w2 = 0 if laikon1w2<=2.5
lab var laikon3w2 "Extremgruppen: mean index all items; 25%-Perzentile"


* Extremgruppen Laientheorie Version 4:
* Einfachen Mittelwertindex aus allen Items berechnen, Befragte 
* mit mittleren Ausprägungen der 5er-Skala (gerundeter Wert = 3) auf Missing 
* setzen, verbleibende Werte auf 0 und 1 dichotomisieren 

gen laikon4w2 =. 
replace laikon4w2 = 1 if round(laikon1w2)>3 & laikon1w2!=.
replace laikon4w2 = 0 if round(laikon1w2)<3
lab var laikon4w2 "Extremgruppen: mean index all items; Dweck"


* Extremgruppen Laientheorie Version 5:
* Einfachen Mittelwertindex aus Items 1, 3, und 7 berechnen und 
* Extremgruppen aus oberen (=1) und unteren 25% der Verteilung (=0) bilden


sum laikon2w2, detail 
return list	
gen laikon5w2 = 1 if laikon2w2>=r(p75) & laikon2w2!=.
replace laikon5w2 = 0 if laikon2w2<r(p25)
lab var laikon5w2 "Extremgruppen: mean index three entity items; 25%-Perzentile"


* Extremgruppen Laientheorie Version 6:
* Einfachen Mittelwertindex aus Items 1, 3, und 7 berechnen, Befragte 
* mit mittleren Ausprägungen der 5er-Skala (gerundeter Wert = 3) auf Missing 
* setzen, verbleibende Werte auf 0 und 1 dichotomisieren 


gen laikon6w2 =. 
replace laikon6w2 = 1 if round(laikon2w2)>3 & laikon2w2!=.
replace laikon6w2 = 0 if round(laikon2w2)<3
lab var laikon6w2 "Extremgruppen: mean index classical three items; Dweck"


* Extremgruppen Laientheorie Version 7:
* Faktorenscores aus CFA mit single factor correlated errors berechnen und 
* Extremgruppen aus oberen und unteren 25% der Verteilung bilden																	

sem (Laientheorie -> item?w2), stand ///
	cov(e.item2w2*e.item4w2 e.item2w2*e.item5w2 e.item4w2*e.item5w2)
predict Laientheorie if e(sample), latent(Laientheorie) //Faktorenscore

sum Laientheorie, detail  

gen laikon7w2 = 1 if Laientheorie>=r(p75) & Laientheorie!=. 
replace laikon7w2 = 0 if Laientheorie<=r(p25)

lab var laikon7w2 "Faktorenscore 25%-Perzentile"



* Datenhygiene
drop Laientheorie*

fsum lai*

* Geburtsjahr
gen gebjahrw2 = s2 if s2>0
gen alterw2 = s2 if s2>0

* Geschlecht
recode s1 (2=0) (-77=.), gen(frauw2)
fre frauw2


* Selbstklassifikation von Gründen
gen drängelw2 = v12 if v12>0
gen busw2 = v14 if v14>0

fre drängel

lab val drängel bus att


foreach d in "," "-" "--" ///
	"----" "." "..." "...." "....." "........" ///
	"?" "????" "K. A" "Ka" "KA" "k. a." ///
	"Keine Ahnung" "Weiß nicht" "`?" "k.a" "k.a.", ///
	"ka" "kann ich nicht beurteilen" "kein komentar" ///
	"keine Ahnung" "keine Ahnung!" "keine ahnung" "weis nicht" ///
	"weiss ich nicht" "weiss nicht" "weiß nicht" ///
	"weiss nicht warum" "weiß ich nicht" ///
	"weiß nicht genau" "weiß nicht" "Weissagung Ich nicht" ///
	"Wenn ich das wüsste..." "Wn" "kann ich nicht sagen" ///
	"kann man nicht genau sagen" ///
	"kann man so nicht sagen, da gibt es völlig unterschiedliche Gründe" ///
	"kann pauschal nicht beantwortet werden" ///
	"weis net" "weiss ich nicht" "weiss nicht" ///
	"weiß ich nicht genau" ///
	"weiß ich nicht, aus den verschiedensten Gründen" ///
	"weiß nicgr" "weiß nicht" "weiß nicht, ist mir oft unklar" {	
replace drängelw2 = . if v11=="`d'" | Qualität==2
replace busw2 = . if v13=="`d'" | Qualität==2
}

*-------------------------------------------------------------
* Set all values from panel mutants in wave 2 to missing
*--------------------------------------------------------------

tab frau frauw2, m  //nur 6 Geschlechtsmutanten
gen mutantfrau = 1 if frau!=frauw2 & frauw2!=.

fre s2 if gebjahr!=gebjahrw2 & gebjahrw2!=.  //42 Geburtsjahrmutanten
gen gebmutant = 1 if  gebjahr!=gebjahrw2 & gebjahrw2!=.


fre gebm if gebm!=s3 & s3!=. & s3!=-77		//21 Geburtsmonatmutanten
gen monmutant = 1 if gebm!=s3 & s3!=. & s3!=-77

gen gebplw2 = upper(s4)

fre gebpl if gebpl!=gebplw2 & gebplw2!=""			//50 Geburtsortmutanten
gen ortmutant = 1 if gebpl!=gebplw2 & gebplw2!=""	

egen mutant = anycount(*mutant), values(1)
fre mutant


quietly ds *w2, has(type numeric)
global allnumeric=r(varlist)

quietly ds *w2, has(type string)
global allstring=r(varlist)

foreach var of varlist $allnumeric {
replace `var' = . if mutant>0  
}

foreach var of varlist $allstring {
replace `var' = "" if mutant>0  
}

replace wave2 = .m if mutant>0


fre item1w2 if mutant>0

*--------------------------------------------
* Keep only data neede for analysis
*---------------------------------------------

drop s? v5? v11-v14 dispcode Qualität gebjahrw2 alterw2 frauw2
